{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Aprendizagem Supervisionada e Não Supervisionada\n",
    "\n",
    "O aprendizado de máquina (_machine learning_) é um subcampo da ciência da computação que evoluiu do estudo de reconhecimento de padrões e da teoria do aprendizado computacional em inteligência artificial.\n",
    "\n",
    "O uso aprendizagem de máquina abrangem desde jogos passando pela detecção de fraudes até a análise estatísticas da bolsa de valores. É utilizada para construir sistemas como os do Netflix e Spotify que recomendam músicas e/ou vídeos aos usuários com base no seu histórico de acesso, seus favoritos e outros dados, ou sistemas que encontram todos os artigos de notícias similares em um determinado dia."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Aprendizagem Supervisionada (_Supervised Learning_)\n",
    "\n",
    "É o termo usado sempre que o técnica/algoritmo é **treinado** sobre um conjunto de dados pré-definido. Com base no treinamento a partir deste dataset, o algoritmo pode efetuar decisões precisas quando recebe novas instâncias de dados. Por exemplo:\n",
    "\n",
    "- Suponha que você tem um canil com diferentes filhotes de cachorros;\n",
    "- Sua tarefa é organiza-los em grupos;\n",
    "\n",
    "Para melhor didática, vamos explicar as raças dos filhotes desse canil. Nós temos quatro raças, são elas:\n",
    "- beagle\n",
    "- bulldog\n",
    "- pastor alemão\n",
    "- lhasa apso\n",
    "\n",
    "Ao observar os filhoes existentes, você já aprende quais as características físicas eles possuem. Então, separar os filhotes da mesma raça em um lugar agora é fácil. Na terminologia de _data mining_ um conhecimento passado é chamado de _training dataset_. Ou seja, você já aprende coisas a partir desses dados.\n",
    "\n",
    "| # | CORPO   | PELO  | ORELHAS  | RAÇA          |\n",
    "|---|---------|-------|----------|---------------|\n",
    "| 1 | Médio   | Curto | Mediana  | Beagle        |\n",
    "| 2 | Pequeno | Longo | Grande   | Lhasa Apso    |\n",
    "| 3 | Grande  | Médio | Pequena  | Pastor Alemão |\n",
    "| 4 | Médio   | Curto | Pequena  | Bulldog       |\n",
    "\n",
    "- Suponha que você recebeu um novo filhote e você analisou o tamanho, pelo e orelhas desse filhote;\n",
    "- Se o tamanho for médio, o pelo for longo e as orelhas grandes, você irá confirmar a raça como lhasa apso e colocar o filhote em seu grupo. A mesma coisa aconteceria para as de mais raças;\n",
    "\n",
    "A coluna nomeada como **RAÇA** é chamada de classe, _label_ ou variável de resposta.\n",
    "\n",
    "Se você consegue aprender algo com o dataset de treinamento e depois aplicar esse conhecimento aos novos dados de entrada (novos filhotes), então esse tipo de aprendizagem é chamada de supervisionada.\n",
    "\n",
    "Todos os algoritmos de classificação e regressão são submetidos a uma aprendizagem supervisionada:\n",
    "- Logistic Regression\n",
    "- Decision trees\n",
    "- Support vector machine (SVM)\n",
    "- k-Nearest Neighbors\n",
    "- Naive Bayes\n",
    "- Random forest\n",
    "- Linear regression\n",
    "- Polynomial regression\n",
    "- SVM for regression"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Aprendizagem Não Supervisionada (_Unsupervised Learning_)\n",
    "\n",
    "É o termo usado quando uma técnica/algoritmo pode automaticamente encontrar padrões e relações em um determinado conjunto de dados. É efetuada com base na observação e descoberta. Não são definidas classes, o algoritmo necessita analisar os exemplos e reconhecer os padrões por si próprio.\n",
    "\n",
    "- Ainda utilizando o exemplo acima, mas desta vez, você não sabe nada sobre os filhotes. Melhor dizendo, essa é a primeira vez que você viu filhotes de cães em sua vida. Você não possui nenhuma ideia sobre eles;\n",
    "- Então, como você irá organizá-los? O que fazer primeiro?\n",
    "- Você pegará um filho e irá organizá-los considerando o caráter físico desse filho em particular. Suponhamos que você tenha considerado a condição básica do pelo. Então, os grupos serão algo como:\n",
    "    - GRUPO DE PELO LONGO: lhasa apso\n",
    "    - GRUPO DE PELO MÉDIO: pastor alemão\n",
    "    - GRUPO DE PELO CURTO: beagle e bulldog\n",
    "- Agora você percebeu uma nova característica física, o tamanho das orelhas. O que influência nos grupos:\n",
    "    - GRUPO DE PELO LONGO E ORELHA GRANDE: lhasa apso\n",
    "    - GRUPO DE PELO MÉDIO E ORELHA PEQUENA: pastor alemão\n",
    "    - GRUPO DE PELO CURTO E ORELHA MEDIANA: beagle\n",
    "    - GRUPO DE PELO CURTO E ORELHA PEQUENA: bulldog\n",
    "- Nesse processo você não havia aprendido nada previamente, ou seja, nenhum dataset de treinamento foi usado e nenhuma classe (**RAÇA**) informada. Você foi descobrindo em tempo de execução.\n",
    "\n",
    "Na mineração de dados ou na aprendizagem de maquinas (_machine learning_) esse tipo de aprendizagem é chamada de não supervisionada.\n"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.2"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
